From 6248b7ba6a5d87f26cf9fd23ed748cac5436532b Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Wed, 8 Apr 2015 17:08:22 +0100 Subject: [PATCH] libxenstat: qmp_read fix and cleanup The second argument of poll(2) is the number of file descriptors. POLLIN is defined as 1 so it happens to work. Also reduce the size of array to one as there is only one file descriptor. Signed-off-by: Wei Liu Cc: Ian Campbell Cc: Ian Jackson Cc: Charles Arnold Reviewed-by: Andrew Cooper Acked-by: Ian Campbell --- tools/xenstat/libxenstat/src/xenstat_qmp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/xenstat/libxenstat/src/xenstat_qmp.c b/tools/xenstat/libxenstat/src/xenstat_qmp.c index 8d91feffa1..5e261afe1c 100644 --- a/tools/xenstat/libxenstat/src/xenstat_qmp.c +++ b/tools/xenstat/libxenstat/src/xenstat_qmp.c @@ -289,13 +289,13 @@ static size_t qmp_write(int qfd, char *cmd, size_t cmd_len) static int qmp_read(int qfd, unsigned char **qstats) { unsigned char buf[1024], *ptr; - struct pollfd pfd[2]; + struct pollfd pfd[1]; int n, qsize = 0; *qstats = NULL; pfd[0].fd = qfd; pfd[0].events = POLLIN; - while ((n = poll(pfd, POLLIN, 10)) > 0) { + while ((n = poll(pfd, 1, 10)) > 0) { if (pfd[0].revents & POLLIN) { if ((n = read(qfd, buf, sizeof(buf))) < 0) { free(*qstats); -- 2.30.2